From 647597124fe28ee88f3baf499f5afdfed8de341f Mon Sep 17 00:00:00 2001 From: Dietmar Hahn Date: Tue, 12 Mar 2013 15:37:45 +0100 Subject: [PATCH] vpmu intel: pass through cpuid bits when BTS is enabled This patch passes the orginal cpuid bits for X86_FEATURE_DTES64 (64-bit DS Area) and X86_FEATURE_DSCPL (CPL Qualified Debug Store) to the guest when the BTS feature is switched on. I forgot this when I did this BTS emulation. Signed-off-by: Dietmar Hahn --- xen/arch/x86/hvm/vmx/vpmu_core2.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c index 2af8966483..afad35b04c 100644 --- a/xen/arch/x86/hvm/vmx/vpmu_core2.c +++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c @@ -607,6 +607,10 @@ static void core2_vpmu_do_cpuid(unsigned int input, { /* Switch on the 'Debug Store' feature in CPUID.EAX[1]:EDX[21] */ *edx |= cpufeat_mask(X86_FEATURE_DS); + if ( cpu_has(¤t_cpu_data, X86_FEATURE_DTES64) ) + *ecx |= cpufeat_mask(X86_FEATURE_DTES64); + if ( cpu_has(¤t_cpu_data, X86_FEATURE_DSCPL) ) + *ecx |= cpufeat_mask(X86_FEATURE_DSCPL); } } } -- 2.30.2